#include <iostream>
#include <math.h>
#include <fstream>


using namespace std;

int decidir(int** matriz,int& fila, int& top);
int main()
{
  int dim = 15;
  int** matriz = new int*[dim];

  for (int i = 0; i < dim; i++)
    {
      matriz[i] = new int[dim];
    }

  ifstream archivo;
  archivo.open("datos.txt");
  cout.width(2);
  for (int i = 0 ;i < 15; i++ )
    {
      for (int j = 0 ;j < 15 ; j ++ )
        {
          archivo >> matriz[i][j];
          cout.width(2);
          cout << matriz[i][j] << ' ';
        }
      cout << '\n';
    }
  archivo.close();

  int fila = 0;
  int top = 0;
  int suma = 0;
  while (fila < 13)
    {
      suma = suma + decidir(matriz,fila,top);
    }
    cout << matriz[fila][top] << endl;
suma =suma + matriz[fila][top];
cout << suma << endl;
  for (int i = 0;i < dim ;i++ )
    {
      delete	matriz[i];
    }

  delete matriz;

  return 0;

}


int decidir(int** matriz,int& fila, int& top)
{
int res = 0;
int  val1 = matriz[fila][top] +matriz[fila+1][top] +matriz[fila+2][top];
int  val2 = matriz[fila][top] +matriz[fila+1][top] +matriz[fila+2][top+1];
int  val3 = matriz[fila][top] +matriz[fila+1][top+1] +matriz[fila+2][top+1];
int  val4 = matriz[fila][top] +matriz[fila+1][top+1] +matriz[fila+2][top+2];

if(val1 >= val2 and val1 >= val3 and val1 >= val4)
{
    cout << matriz[fila][top] <<'-'<< matriz[fila+1][top] <<'-';
    res = val1 - matriz[fila+2][top];
    top = top;
}
else if(val2 >= val1 and val2 >= val3 and val2 >= val4)
{
    cout << matriz[fila][top] <<'-'<< matriz[fila+1][top] <<'-';
    res = val2- matriz[fila+2][top+1];;
    top = top+1;
}
else if(val3 >= val1 and val3 >= val2 and val3 >= val4)
{
cout << matriz[fila][top] <<'-'<< matriz[fila+1][top+1] <<'-';
    res = val3- matriz[fila+2][top+1];;
    top = top+1;
}

else if(val4 >= val1 and val4 >= val2 and val4 >= val3)
{

cout << matriz[fila][top] <<'-'<< matriz[fila+1][top+1] <<'-';


    res = val4- matriz[fila+2][top+2];;
    top = top+2;
}

fila = fila + 2;
return res;
}
